package com.lin.blog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lin.blog.entity.Article;
import com.lin.blog.vo.ArticleCategoryTagsVO;
import com.lin.constant.ResultCode;
import com.lin.utils.Result;
import org.springframework.cache.annotation.Cacheable;

import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lin
 * @since 2020-03-08
 */
public interface IArticleCategoryTagsService extends IService<ArticleCategoryTagsVO> {



    /**
     * 通过主键ID查询Article
     *
     * @param id
     * @return
     */
    public Result getArticle(Long id);

    /**
     * 获取ArticleList 条件查询
     * @param pageNum
     * @param pageSize
     * @param searchMap
     * @return
     */
    public Result  listArticle(Long pageNum, Long pageSize, Map<String, Object> searchMap);



    /**
     * 获取ArticleList
     * @return
     */
    public Result  listArticle();


    /**
     * 分页获取ArticleList 通过tagsId
     * @param tagsId
     * @param pageNum
     * @param pageSize
     * @return
     */
    public Result  listArticleByTagsId(Long tagsId,Long pageNum, Long pageSize);

    /**
     * 分页获取ArticleList 通过categoryId
     * @param categoryId
     * @param pageNum
     * @param pageSize
     * @return
     */
    Result listArticleByCategoryId(Long categoryId, Long pageNum, Long pageSize);

    /**
     * 分页获取ArticleList
     * @param pageNum
     * @param pageSize
     * @return
     */
    public Result  listArticle(Long pageNum, Long pageSize);


}
